System and method for in-situ classifier retraining for malware identification and model heterogeneity

ABSTRACT

A system and method for batched, supervised, in-situ machine learning classifier retraining for malware identification and model heterogeneity. The method produces a parent classifier model in one location and providing it to one or more in-situ retraining system or systems in a different location or locations, adjudicates the class determination of the parent classifier over the plurality of the samples evaluated by the in-situ retraining system or systems, determines a minimum number of adjudicated samples required to initiate the in-situ retraining process, creates a new training and test set using samples from one or more in-situ systems, blends a feature vector representation of the in-situ training and test sets with a feature vector representation of the parent training and test sets, conducts machine learning over the blended training set, evaluates the new and parent models using the blended test set and additional unlabeled samples, and elects whether to replace the parent classifier with the retrained version.

BACKGROUND

Machine learning is a technique that uses the high speed processing power of modern computers to execute algorithms to learn predictors of behavior or characteristics of data. Machine learning techniques may execute algorithms on a set of training samples (a training set) with a known class or label, such as a set of files known to exhibit malicious or benign behaviors, to learn characteristics that will predict the behavior or characteristics of unknown things, such as whether unknown files are malicious or benign.

Many current approaches to machine learning use algorithms that require a static training set. Such machine learning approaches using algorithms that require a static training set (such as those based on decision trees) assume that all training samples are available at training time. There exists a class of supervised machine learning algorithms known as on-line or continuous learning algorithms that update the model on each new sample. However, these algorithms assume each new sample will be classified by an expert user.

A relevant machine learning method is batch mode active learning (BMAL). BMAL constructs a new classifier that is retrained based on a batch of new samples in an optionally repeatable process. BMAL, however focuses on the selection of unlabeled samples to present to the user for adjudication. BMAL conducts repeated learning until some objective performance criteria is met. Additionally, BMAL does not cover the case where the training data is split between multiple locations where original training and test data must be sent to the user where new samples are added.

Other relevant prior art methods are described in the following patents and published applications. For example, U.S. Pat. No. 6,513,025 (“the '025 patent”), entitled “Multistage Machine Learning Process,” involves partitioning of training sets by time intervals and generating multiple classifiers (one for each interval). Time intervals are cyclic/periodic (fixed frequency) in the preferred embodiment. The '025 patent leverages dependability models (method for selecting which classifier model to use based on the system input) to determine which classifier to use. In addition, the classifier update and training sample addition methods in this patent are continuous. The '025 patent is also limited to telecommunications network lines.

U.S. Pre-Grant Publication No. 20150067857 (“the '857 publication”) is directed towards an “In-situ Trainable Intrusion Detection System.” The described system in the '857 publication is based on semi-supervised learning (uses some unlabeled samples). Learning is based on network traffic patterns (netflow or other flow metadata) not files. The '857 publication uses a Laplacian Regularized Least Squares learner and does not include a method for allowing users to select between classifiers or view analysis of performance of multiple classifiers. The '857 publication also only uses in-situ samples (samples from the client enterprise).

U.S. Pre-Grant Publication No. 20100293117 (“the '117 publication”) entitled “Method and System for Facilitating Batch Mode Active Learning,” discloses a method for selecting documents to include in a training set based on an estimate of the “reward” gained by including each sample in the training set (estimate of performance increase). The reward can be based on an uncertainty associated with an unlabeled document or document length. The '117 publication does not disclose detecting malicious software or files. U.S. Pre-Grant Publication No. 20120310864 (“the '864 publication”), “Adaptive Batch Mode Active Learning for Evolving a Classifier,” focuses on applying this technique to image, audio, and text data (not binary files and not for the purpose of malware detection). Moreover, the '864 publication requires the definition of a stop criterion which is typically based on a predetermined desired level of performance. Importantly, the '864 publication method lacks accommodations for in-situ learning such as the potential need to provide a partial training corpus, expressing that corpus as feature vectors instead of maintaining the full sample, etc.

Existing machine learning techniques disclose learning algorithms and processes but do not cover the method for augmenting or retraining a classifier based on data not accessible to the original trainer. Existing machine learning techniques do not enable training on data samples that an end user does not wish to disclose to a 3rd-party which was originally responsible for conducting the machine learning.

Additionally, prior art malware sensors have an inherent problem in which each instance of a malware sensor (anti-virus, IDS, etc.) is identical provided their signatures or rule sets are kept up-to-date. In such instances, since each deployment of a cyber-defense sensor is identical, a bad actor or malware author may acquire the sensor and then test and alter their malware until it is not detected. This would make all such sensors vulnerable.

SUMMARY

Described herein are embodiments that overcome the disadvantages of the prior art. These and other advantages are provided by a method for batched, supervised, in-situ machine learning classifier retraining for malware identification and model heterogeneity. The method produces a parent classifier model in one location and providing it to one or more in-situ retraining system or systems in a different location or locations, adjudicates the class determination of the parent classifier over the plurality of the samples evaluated by the in-situ retraining system or systems, determines a minimum number of adjudicated samples required to initiate the in-situ retraining process, creates a new training and test set using samples from one or more in-situ systems, blends a feature vector representation of the in-situ training and test sets with a feature vector representation of the parent training and test sets, conducts machine learning over the blended training set, evaluates the new and parent models using the blended test set and additional unlabeled samples, and elects whether to replace the parent classifier with the retrained version.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 shows an exemplary embodiment of a method for in-situ classifier retraining for malware identification and model heterogeneity, according to one aspect of this disclosure.

FIG. 2 shows an exemplary architecture of a system for in-situ classifier retraining for malware identification and model heterogeneity, according to one aspect of this disclosure.

FIG. 3 shows a screen shot of an exemplary GUI (graphical user interface), according to one aspect of this disclosure.

FIG. 4 shows a second screen shot of an exemplary GUI, according to one aspect of this disclosure.

FIG. 5 shows a trust relationship scenario for sharing feature vectors, according to one aspect of this disclosure.

DETAILED DESCRIPTION

Described herein are embodiments of a system and method for in-situ classifier retraining for malware identification and model heterogeneity. Embodiments overcome the problems described above. For example, embodiments provide for the augmentation of an existing machine learning-based classification model based on user-driven confirmation or correction of the existing model's class prediction and in-situ retraining. In-situ herein refers to conducting the machine learning at the physical location of an installed instance of a classifier. Indeed, when applied across multiple instances, embodiments allow each instance to create a model unique to that instance.

A preferred embodiment is applied to the problem of determining if unknown/untrusted software or software application files are either benign or malicious. The child classifiers created through this method are not only unique but maintain or improve the statistical performance of the parent classifier. In particular, embodiments have been demonstrated to reduce false positive rates of software classification. Embodiments are designed to allow retraining of the parent classifier using a combination of the original training set and a supplemental training set, referred to as the in-situ training set. The in-situ training set is generated within a local instance's environment, eliminating the need for potentially sensitive or proprietary data to be shared with any other party—including the party which constructed the parent classifier. In embodiments, users, however, may elect to form trusted relationships with other users and securely share some or all of their in-situ training data using an abstraction of the potentially sensitive or proprietary data.

The embodiments described herein include many significant differences over the prior art. As opposed to prior art described above, embodiments may require recurring batching at non-fixed intervals of new samples prior to retraining but does not assume every new sample will be classified by an expert user or otherwise be eligible for inclusion in a retraining batch. These differences make embodiments of the system and method distinct from the class of on-line or continuous learning techniques.

Additionally, as opposed to BMAL, embodiments allow a user to choose samples at will to adjudicate. Likewise, in embodiments a user determines the number of cycles of retraining rather than using an objective stop criteria. Additionally, embodiments cover the case where the training data is split between multiple locations where original training and test data must be sent to the user where new samples are added.

Further, as opposed to the '025 patent, the in-situ learning of the embodiments described herein involves the complete replacement of the current classifier, not the subdivision of the input space and continued use of the older models. Likewise, the embodiments described herein is user-driven batch learning (not all events are included in the additional learning). Alternatively, in another aspect of this disclosure, the batch learning may be driven by an automated process. Contrary to the '857 publication, in-situ embodiments described herein may be fully supervised, as opposed to Laplacian Regularized Least Squares learners which are semi-supervised. While unsupervised and semi-supervised learning may be implemented in aspects of the system, supervised learning is preferred because, for example, supervised learning may result in a classification determination of an unknown sample. Moreover, embodiments describe herein may use a mix of samples from the client enterprise and those provided by the manufacturer. As opposed to the '117 publication, embodiments utilize all labeled samples. As distinguished from the '864 publication, embodiments have a trivial stop criterion (single pass with user making the decision on whether the performance is adequate) which does not require the calculation of any distance function between the batch of unlabeled data and the remaining unlabeled data and does not select a batch of training elements based on an evaluation of an objective function.

Embodiments allow users to retrain machine learning-based classifiers in-situ to the users' deployment of the classification software/hardware. The retraining allows improvement of the overall classifier performance (e.g., reducing false positives and false negatives). The in-situ retaining also allows the creation or production of a unique version of the classification model. That version may be unique to that instance and unique for that user. By having a tailored model the user assures that a malware producer will not be able to test the malware against the detection technology prior to attempting to compromise the user's network. In addition, the tailoring may be used to create models biased toward particular types of malware that are proprietary or sensitive and, therefore, unavailable to the creator of the parent classifier model. In some embodiments, sharing may be facilitated amongst multiple users by using abstracted sample representations that completely obscure the sample content but still allow others to leverage the sample for retraining. Furthermore, users may elect to share models trained in one location with other locations in their network or even among trusted partners. Additionally, or alternatively, models generated as a result of in-situ retraining may be exported to or imported from trusted partners.

With reference now to FIG. 1, shown is exemplary embodiment of a method 100 for in-situ classifier retraining for malware identification and model heterogeneity. As shown, embodiments of method 100 are described with respect to a fourteen (14) step process. Method 100 may be implemented in a software/hardware architecture as shown in FIG. 2. In embodiments, the in-situ retraining process occurs with respect to two physically separated locations, denoted as “3rd-Party Facility” and “User (In-situ) Facility” in FIG. 1. A third-party (e.g., an enterprise that sells malware detection hardware/software) builds an initial version of the classifier (see blocks 1-5), known as the base classifier. This base classifier is constructed using a supervised machine learning algorithm, such as decision trees, support vector machines, k-nearest neighbors, artificial neural networks, Bayesian networks, etc. The third-party builds the parent training and test sets, block 1. The learning is conducted over a training set composed of samples of identical type and covering all desired classes. In an embodiment only two classes are used, malicious and benign. The samples may include computer executable program files (PE32, PE32+, ELF, DMG, etc.) and files used by common computer software (Microsoft Word, Microsoft Excel, PDF, etc.). Third party extracts features (e.g., features more likely to be present in malicious and/or benign files) from the training set (e.g., as extracted feature vectors), block 2, conducts the learning to create a model using a supervised machine learning algorithm, block 3 and tests the model using the test set, block 4. Such a classifier may be built according to methods described in U.S. patent application Ser. No. 14/038,682 (published as US20140090061), which is hereby incorporated by reference. One or more classifiers may be created to cover the variety of file types.

Once the third-party creates the classifier, the classifier is sent/deployed to the user facility (e.g., a customer) as a classifier instance, block 5. Such deployment 5 may be part of multiple user facility (e.g., multiple customer), multiple instance deployment. A user facility houses system hardware and software, e.g., such as shown in FIG. 2. As used herein, the term user facility refers to an entire user's enterprise which may include multiple physical locations with one or more in-situ retraining systems deployed at some or all of the enterprise's physical locations. In addition to the classifier model, the third-party also delivers extracted feature vectors from the training and test samples. Feature vectors are a summary representation of the sample based on a set of properties or attributes of the sample, known as features. A feature vector is an abstracted representation of the sample that obfuscates the sample content and facilitates model training. Features may include such things as file header properties, existence of certain parts or components of a file, consecutive binary sequences known as n-grams, computations over the binary representation such as entropy, etc. An important feature of embodiments described herein is the transfer of this generalized representation of the original training and test sets to the user facility.

With continuing reference to FIG. 1, the original third-party created base classifier becomes the first parent classifier in the repeatable in-situ process. Method 100 uses this base classifier to evaluate unknown content on the user network predicting a class (e.g., benign or malicious) for each sample, block 6. In an embodiment, a user may use system graphical user interface (GUI) to inspect some or all of the predicted classes and determines whether the sample is truly benign or malicious (e.g., confirms or corrects classifications), block 7. In another aspect of this disclosure, the in-situ retraining system may inspect, without human intervention, some or all of the predicted classes and determine whether the sample is benign or malicious (e.g., confirms or corrects classifications). The act of confirming or correcting the classification is called adjudication. In an embodiment, a retrain manager (e.g., instantiated as a retrain manager service) monitors the user's adjudication activity and determines when a sufficient number of in-situ samples have been adjudicated.

In embodiments, there are a required threshold number of adjudicated events that must be accumulated before a retrain may occur. When the user exceeds the required threshold number of adjudicated events the user may elect to conduct a retrain. Adjudicated samples may be stored on one or more in-situ retraining systems. Information about adjudicated samples may also be acquired through sharing amongst other system users provided a trust relationship exists. When the user initiates a retrain, the retrain manager creates a training and test set from the adjudicated in-situ samples, block 8. Alternatively, the in-situ retraining system may, without human intervention, initiate a retrain. The training and test set may be selected from a subset of the adjudicated samples. Retrain manager may also extract feature vectors from both retrain training and test sets, block 9. Method 100 may then blend these in-situ feature vectors with the parent/base classifier's feature vectors (and feature vectors from sharing partners, if any), block 10. In a separate mode, an embodiment may use a subset of the parent/base classifier's feature vectors (and those from sharing partners) without any additional in-situ samples. This subset may be selected randomly from the full set of available feature vectors. In one aspect, a blending implementation, known as an additive method, the in-situ sample feature vectors may be added to the parent classifier feature vectors. In another aspect, in a second blending implementation, known as a replacement method, the in-situ sample feature vectors may replace an equal number of the parent classifier feature vectors. In another aspect, in a third blending implementation, known as a hybrid method, the in-situ sample feature vectors may be added to a subset of the parent classifier feature vectors. This may create a training set larger than parent set but smaller than one created by the additive method. Using a hybrid method of blending may allow the user to limit the influence of the in-situ samples on the new classification model. A new classification model is trained by the machine learner using the same machine learning algorithm used to create the parent/base classifier, block 11. Once a new classifier is created it is evaluated against the retrain test set, which includes sample feature vectors from both the third-party (base classifier test set feature vectors) and the user facility (retrain test set feature vectors), block 12. Evaluation 12 occurs against both labeled and unlabeled samples not included in the training set. A system GUI may be provided to aid the user in conducting the evaluation. Embodiments may also provide an automated recommendation, e.g., provided by the retraining manager, as to which classifier is better (see, e.g., FIGS. 3 and 4).

With continuing reference to FIG. 1, at the end of the evaluation period, in embodiments the user elects to either accept the new classifier and replace the current parent classifier or reject it and keep the parent classifier, block 13. In another aspect of this disclosure, the in-situ retraining system, without human intervention, may accept the new classifier and replace the current parent classifier or reject it and keep the parent classifier. In either case, the process may be repeated, e.g. at the user's discretion or by the in-situ retraining system, block 14. Once a new in-situ classifier is accepted it becomes the parent/base classifier for the next round of in-situ retraining 100. The user can further elect to deploy the retrained classifier model to all in-situ retraining systems throughout their enterprise thereby replacing each system's parent classifier with the new retrained classifier. In another aspect of this disclosure, the in-situ retraining system, without human intervention, may deploy the retrained classifier model to all in-situ retraining systems throughout their enterprise thereby replacing each system's parent classifier with the new retrained classifier.

In embodiments, successive retraining will use the previous round's training and test set as a basis for augmentation. System for in-situ classifier retraining for malware identification and model heterogeneity may optionally elect to “anchor” the retraining to the original 3rd-party base classifier and associated training and test set. When retraining in anchor mode, the original base classifier, original base classifier training, and original base classifier test set or subsets thereof are used for all subsequent anchored retrainings.

With reference again to FIG. 2, shown is an exemplary architecture of a system 200 for in-situ classifier retraining for malware identification and model heterogeneity. System 200 may be implemented by one or more computer servers, including blade servers or chained servers. Server may host file database, into which information about known, unknown and classified files is stored. Server also may host parent model, parent training and test set feature vectors, in-situ model and in-situ training and test set feature vectors. Retraining manager, instantiated as a service, may be run on server and may create in-situ models, using machine learner (e.g., machine learning service executing machine learning algorithms), and in-situ training and test set feature vectors. As discussed above, retraining manager may replace parent model and parent training and test set feature vectors with in-situ models and in-situ training and test set feature vectors, which then become new parent model and parent training and test set feature vectors, respectively. Alternatively, in an anchored retraining, the original (or the then existent, at the point anchored training is implemented), parent model, training and test set feature vectors remain in parallel with in-situ models and in-situ training and test set feature vectors. System 200 may use feature extractor (e.g., a feature extractor service) on server to extract features from previously classified files and create in-situ feature vectors. Feature extractor may also extract features from unknown files, received as input by server, for classification. Server may classify files, using machine learner and in-situ model, and output file classifications.

System 200 may also include a GUI to enable display of in-situ models, parent models, test results and classifications, output by server, to user. The GUI may also enable entry and receipt of user inputs that, e.g., confirm or correct classifications, elect to retrain, elect to accept a new in-situ model, etc., as described herein. In embodiments, server receives user inputs entered through GUI and executes steps as described herein. In another aspect of this disclosure, the server receives inputs generated by the in-situ retraining system.

With reference now to FIG. 3, shown is a screen shot of an exemplary GUI 300 according to an embodiment of system 200. GUI 300 illustrates an in-situ retraining evaluation screen shot showing analysis of the in-situ retrained model on labeled samples. As shown, the GUI 300 may display a comparison of classification results of the in-situ retrained model versus classification results of the base or parent model. GUI 300 shows a comparison of classification scores, which may be based or calculated on a formula that counts and weights false negatives and false positives. GUI 300 shows the percentage of false negatives and false positives for the base model, the improvement from the in-situ model and a combined model improvement (i.e., improvement from combining in-situ and base models).

With reference now to FIG. 4, shown is another screen shot of an exemplary GUI 400 according to an embodiment of system 200. GUI 400 illustrates an in-situ retraining evaluation screen shot showing analysis on unlabeled samples. Specifically, GUI 400 includes a graph illustrating classification changes using a new in-situ model versus a base model. GUI 400 also includes a bar graph that illustrates the number of files classified with what percentage confidence or likelihood of being malicious as determined by in-situ and base classifier (e.g., 1877 classified by in-situ as 0% likely to be malicious). The bar graph illustrates the in-situ classifier is either highly confident non malicious (0-10%) or highly confident malicious (80-90%), whereas the base classifier exhibits a greater number of files classified with levels of confidence outside these extremes (e.g., 20-70%) and, therefore, less useful.

With reference now to FIG. 5, shown is an illustration of a trust relationship scenario for sharing feature vectors. In embodiments, secure sharing of adjudicated sample feature vectors among multiple users is possible. To share adjudicated sample feature vectors, users must first elect to enter into a trust relationship with each other. A trusted broker, most likely but not necessarily the third-party facility that created the base classifier, may facilitate the transfer of sample feature vectors by receiving the shared data from the originator and forwarding it to the receiver. Alternatively, the participants in the trust relationship may directly transmit the data to each other in a peer-to-peer fashion. The data is typically encrypted during transmission between participants in the trust relationship. Shown in FIG. 5, is a scenario in which user A has a trust relationship with both user B and user C, but user B and user C have not entered into a trust relationship with each other. In this scenario, user B may therefore use in-situ data (feature vectors) user A has chosen to share but not data user C has chosen to share. User A may use data from both user B and user C. By only sharing feature vectors, users may protect their confidential or sensitive file data from the other users with which they share.

When shared data is used in the construction of in-situ training and test sets, the user may elect to prioritize the inclusion of the shared data relative to their own and to each provider of the shared feature vectors. Each source prioritization is converted to a percent of the training and test set that will be taken from that source's adjudicated samples.

Embodiments of the system and method for in-situ classifier retraining for malware identification and model heterogeneity, as described, herein overcome a number of defects and disadvantages of the prior art. For example, embodiments described herein address the challenge of being able to train on data samples for which the end user does not wish to disclose to the 3rd-party which is responsible for conducting the machine learning. An example of this scenario is the identification of malicious pdf files. The third party may have a corpus of malicious and benign pdfs to train a classifier, but that classifier may produce an unacceptable number of false positives when applied to a user's pdf files. The user, however, does not wish to share their pdf files that are being incorrectly marked because the pdf files may contain sensitive or proprietary information. By allowing the user to conduct retraining in-situ the user gets the benefit of having their data added to the training set without the cost or risk of providing their samples to the third-party or other users. In another aspect of this disclosure, the in-situ retraining system may add data to the training set without incurring the cost or risk of providing their samples to the third-party or other users.

In addition, embodiments of the system and method for in-situ classifier retraining for malware identification and model heterogeneity solve the problem in cyber defense where each instance of a malware sensor (anti-virus, IDS, etc.) is identical (assuming each instance's signatures are kept up-to-date). Since each deployment of a cyber-defense sensor is identical, and a bad actor or malware author may acquire the sensor, it is possible for the bad actor to test/alter their malware until it is not detected. In-situ training allows each instance of a sensor to tailor itself on data not available to anyone but the local user; this method effectively guarantees all in-situ trained classifier models are unique. In other words, the set of all malware detection models is heterogeneous instead of homogeneous. Bad actors will no longer be able to rely on pre-testing their malware and incur greater risk of discovery across the community of users.

Embodiments of the system and method for in-situ classifier retraining for malware identification and model heterogeneity also address the issue of secure sharing of potentially sensitive or proprietary information for the purpose of machine learning. By establishing trust relationships among users in which they share the sample feature vectors, and not the samples themselves, each user gains the benefit of the others' work without having to expose the sensitive data.

Embodiments contain several innovative concepts. Embodiments use machine learning and in-situ retraining to produce a unique classification model for each user. The implementation of in-situ learning described here is based on a combination of third-party and in-situ datasets allowing the user the benefits of tailoring without requiring the user to release data to the third-party. Due to the blending of datasets and a tightly controlled and automated machine learning process, the user is less prone to unintentional errors introduced by poor machine learning methods that could result in poor performance. Embodiments of the system allow the user to define which samples are made eligible for retraining rather than relying on an automated analysis which may not reflect the user's priorities.

Testing of embodiments has demonstrated over all reductions in false positive rates on previously misclassified in-situ samples in excess of 99% with overall false positive performance improvements on a broad set of samples in excess of 30%. These improvements are achieved with little to no increase in false negative rates. In addition, test results have also shown that using different data to retrain classifiers results in different classification behaviors on the same sample.

A summary of an in-situ process including the formation of the base set prior to in-situ, according to embodiments described herein follows below (e.g., steps 1-5 occur in the 3rd-party facility while steps 6-14 occur in the user facility):

1. Create base training and test sets;

2. Extract features;

3. Conduct learning to create model;

4. Test model using test set;

5. Deploy model;

6. Use model to classify unknown samples;

7. User or in-situ retraining system reviews and confirms or corrects classifications;

8. Select a subset of adjudicated samples to form in-situ training and test set based on source prioritization;

9. Extract features;

10. Combine in-situ and 3rd-party training and test sets or subsets thereof;

11. Retrain model;

12. Evaluate new model;

13. Deploy or reject new model; and

14. Repeat steps 6-14 as necessary.

The terms and descriptions used herein are set forth by way of illustration only and are not meant as limitations. Those skilled in the art will recognize that many variations are possible within the spirit and scope of the invention as defined in the following claims, and their equivalents, in which all terms are to be understood in their broadest possible sense unless otherwise indicated. 

The invention claimed is:
 1. A computer implemented method for batched, supervised, in-situ machine learning classifier retraining for malware identification and model heterogeneity, the method comprising: a. producing a parent classifier model in one location and providing it to one or more in-situ retraining system or systems in a different location or locations; b. adjudicating, by a user, one or more class determinations of the parent classifier model over a plurality of samples evaluated by the one or more in-situ retraining system or systems; c. determining a minimum number of adjudicated samples required to initiate an in-situ retraining process; d. blending a feature vector representation of in-situ training and test sets with a feature vector representation of parent training and test sets or subset thereof to form a blended training set: e. conducting machine learning over the blended training set to create a new classifier model: f. evaluating the new classifier model and the parent classifier model using the blended training set and unlabeled samples not included in the blended training set; and g. electing whether to replace the parent classifier model with the new classifier model.
 2. The method of claim 1 further comprising creating a new training and test set, using samples from one or more in-situ systems.
 3. The method of claim 2 further comprising repeating (a)-(g) and the creating.
 4. The method of claim 1 wherein the adjudicating includes receiving user inputs that confirm or correct a classification.
 5. The method of claim 1, where the samples comprise machine executable software or file types used by machine executable software.
 6. The method of claim 1, where the class determination is either benign or malicious.
 7. The method of claim 1, where the in-situ retrained classifier is distributed to one or more of the in-situ retraining system within an enterprise.
 8. The method of claim 1, where the minimum number of adjudicated samples is a function of the parent classifier's training and test set size.
 9. The method of claim 1, where a feature vector representation and not the complete sample is transmitted between in-situ retrainers.
 10. The method of claim 1, where the user manually adds samples and adjudicates their class.
 11. The method of claim 1, where samples are evaluated against a plurality of in-situ retrained classifier models.
 12. The method of claim 1, where the in-situ classifier operates in tandem with the parent classifier for the purpose of classifier evaluation.
 13. The method of claim 1, where different priorities are used for inclusion in the in-situ training and test sets based on the source of the in-situ sample.
 14. The method of claim 1, where adjudicated sample feature vectors are shared amongst a plurality of users who have entered into a trust relationship with one another.
 15. The method of claim 14, where a trusted broker is used to facilitate the exchange of adjudicated sample feature vectors.
 16. The method of claim 1, wherein the blending further comprises adding in-situ sample feature vectors to parent classifier feature vectors.
 17. The method of claim 1, wherein the blending further comprises replacing a number of parent classifier feature vectors with an equal number of in-situ sample feature vectors.
 18. The method of claim 1, wherein the blending further comprises adding in-situ sample feature vectors to a subset of parent classifier feature vectors.
 19. The method of claim 1, wherein the electing is performed by a user.
 20. The method of claim 1, wherein the electing is performed by the in-situ retraining system without human intervention.
 21. A computer implemented method for producing unique classification models for each of a plurality of enterprises, wherein each enterprise determines when computer readable files are malicious or benign based on a common parent classifier model and an enterprise-specific sample set, the method comprising: a. producing a parent classifier model in one location and providing it to one or more in-situ retraining system or systems in a different location or locations; b. receiving, from a user, adjudication of one or more class determinations of the parent classifier over a plurality of samples from an enterprise-specific sample set evaluated by the one or more in-situ retraining system or systems; c. determining a minimum number of adjudicated samples required to initiate an in-situ retraining process; d. blending a feature vector representation of in-situ training and test sets with a feature vector representation of parent training and test sets or subset thereof to form a blended training set; e. conducting machine learning over the blended training set to create a new classifier model; f. evaluating the new classifier model and the parent classifier model using the blended training set and unlabeled samples not included in the blended training set; and g. electing whether to replace the parent classifier model with the new classifier model.
 22. A non-transitory computer readable medium comprising instructions for batched, supervised, in-situ machine learning classifier for malware identification and model heterogeneity retraining that are executed to perform the following operations: a. producing a parent classifier model in one location and providing it to one or more in-situ retraining system or systems in a different location or locations; b. receiving, from a user, adjudication of one or more class determinations of the parent classifier over a plurality of samples evaluated by the one or more in-situ retraining system or systems; c. determining a minimum number of adjudicated samples required to initiate an in-situ retraining process; d. blending a feature vector representation of in-situ training and test sets with a feature vector representation of parent training and test sets or subset thereof to form a blended training set; e. conducting machine learning over the blended training set to create a new classifier model; f. evaluating the new classifier model and the parent classifier model using the blended training set and unlabeled samples not included in the blended training set; and g. electing whether to replace the parent classifier model with the new classifier model.
 23. A system for batched, supervised, in-situ machine learning classifier retraining for malware identification and model heterogeneity comprising a server that includes a processor and a memory that includes instructions for batched, supervised, in-situ machine learning classifier retraining that are executed to perform the following operations: a. producing a parent classifier model in one location and providing it to one or more in-situ retraining system or systems in a different location or locations; b. receiving by the processor, from a user, adjudication of one or more class determinations of the parent classifier over a plurality of samples evaluated by the one or more in-situ retraining system or systems; c. determining a minimum number of adjudicated samples required to initiate an in-situ retraining process; d. blending a feature vector representation of in-situ training and test sets with a feature vector representation of parent training and test sets or subset thereof to form a blended training set; e. conducting machine learning over the blended training set to create a new classifier model; f. evaluating the new classifier model and the parent classifier model using the blended training set and unlabeled samples not included in the blended training set; and g. electing whether to replace the parent classifier model with the new classifier model.
 24. The system of claim 23, wherein the server includes a retraining manager service.
 25. The system of claim 23, wherein the server includes a machine learning service.
 26. The system of claim 23, wherein the server includes a feature extraction service.
 27. The system of claim 23, wherein the server includes a database that stores information on classified files.
 28. The system of claim 23, wherein the server includes test and training set feature vectors for a base model.
 29. The system of claim 23, wherein the server includes test and training set feature vectors for an in situ model. 